// 配置基地址

axios.defaults.baseURL=' https://hmajax.itheima.net'

// 封装轻提示

function showToast(msg){

    const myToast =document.querySelector('.my-toast')
    // 实例化
    const showToast= new bootstrap.Toast(myToast)
    // 将形参传入的值给里面的文字
    document.querySelector('.toast-body').innerHTML=msg

    // 显示提示对话框
    showToast.show()
}

//  页面访问控制(页面鉴权)
function checkLogin(){
    const token = localStorage.getItem('token')
    if(!token){
        setTimeout(() => {
            location.href='login.html'
        }, 1500);
    }
}  

// 退出登录业务
function logout(){
    document.querySelector('#logout').addEventListener('click',function(){
        // 清空本地仓库的用户名和token
        localStorage.removeItem('user')
        localStorage.removeItem('token')

        // 页面跳转

        setTimeout(() => {
            location.href='login.html'
        }, 1000);
    })
}

// 添加请求拦截器
axios.interceptors.request.use(function(config){
    // 在发送请求之前获取token
    const token =localStorage.getItem('token')
    // 判断是否有token
    if(token){
        // 在请求头统一设置token
        config.headers.Authorization=token

    }
    return config;
},function (error){
    // 如果请求错误
    return Promise.reject(error);
}


)

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response.data;
  }, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
      // 判断token是否失效或被更改 如果是 清空仓库的用户名和token
      if(error.response.status===401){
        // 清空用户名和token
        localStorage.removeItem('user')
        localStorage.removeItem('token')
        // 跳转到登录页面
        setTimeout(() => {
            location.href='login.html'
        }, 1500);

    }
    // 对响应错误做点什么
    return Promise.reject(error);

  
  });